// 将所有标签相关的请求封装到这个文件中，统一进行管理
import {request} from '../request';

/**
 * 获取所有标签信息
 * @returns {返回Promise实例}
 */
export function getAllTag() {
  return request({
    url: '/tag/getAllTag'
  });
}

/**
 * 分页并条件查询标签信息
 * @param query 查询条件封装的对象
 * @returns {返回Promise实例}
 */
export function getTagByPage(query) {
  let {currentPage, pageSize, keyword, cid} = query;
  return request({
    url: '/tag/getTagByPage',
    params: {
      currentPage, pageSize, keyword, cid
    }
  });
}

/**
 * 根据分类id查询标签
 * @param cid 分类id
 * @returns {返回Promise实例}
 */
export function getTagByCid(cid) {
  return request({
    url: '/tag/getTagByCid',
    params: {
      cid
    }
  });
}

/**
 * 新增标签
 * @param formData 需要新增的标签的信息
 * @returns {返回Promise实例}
 */
export function insertTag(formData) {
  return request({
    url: '/tag/insertTag',
    method: 'post',
    data: formData
  })
}

/**
 * 修改标签
 * @param formData 需要修改的标签的信息
 * @returns {返回Promise实例}
 */
export function updateTag(formData) {
  return request({
    url: '/tag/updateTag',
    method: 'post',
    data: formData
  })
}

/**
 * 切换标签的状态
 * @param id 标签的id
 * @param usable 标签是否启用，1启用，0不启用
 */
export function changeUsable(id, usable) {
  return request({
    url: '/tag/changeUsable',
    params: {
      id, usable
    }
  })
}

/**
 * 根据ids中的id集合删除对应的标签信息
 * @param ids
 */
export function deleteByIds(ids) {
  return request({
    url: '/tag/deleteByIds',
    params: {
      ids
    }
  })
}

/**
 * 根据id查询标签信息
 * @param id 标签id
 * @returns {返回Promise实例}
 */
export function getTagById(id) {
  return request({
    url: '/tag/getTagById',
    params: {
      id
    }
  })
}